Generating a Statically-Checkable Device Driver I/O Interface
نویسندگان
چکیده
Device drivers are known to be a main source of operating system bugs. Several research groups have created driver specification languages that dynamically check preand postconditions on the IO operations of a device driver. The low-level type-safe language, Clay, has the facilities to statically check the safety of a device driver but is difficult to use directly. We have created a new device driver specification language, Laddie, which compiles the IO interface of a device driver to Clay thus leveraging its static safety checking while remaining simple to use.
منابع مشابه
Optimizing Network Virtualization in Xen
This paper reports on improvements to Xen’s networking performance resulting from the re-design and the re-implementation of certain aspects of its network virtualization and better support for advanced, hardware memory management features. Our design remains compatible with the basic Xen 2.0 architecture of locating device drivers in a privileged driver domain that has direct access to the dev...
متن کاملTowards Virtual Passthrough I/O on Commodity Devices
A commodity I/O device has no support for virtualization. A VMM can assign such a device to a single guest with direct, fast, but insecure access by the guest’s native device driver. Alternatively, the VMM can build virtual devices on top of the physical device, allowing it to be multiplexed across VMs, but with lower performance. We propose a technique that provides an intermediate option. In ...
متن کاملUser-Guided Device Driver Synthesis
Automatic device driver synthesis is a radical approach to creating drivers faster and with fewer defects by generating them automatically based on hardware device specifications. We present the design and implementation of a new driver synthesis toolkit, called Termite-2. Termite-2 is the first tool to combine the power of automation with the flexibility of conventional development. It is also...
متن کاملAn I / O System for Mach 3
The Mach 3.0 I/O system represents a radical departure from its predecessor { Mach 2.5, which relied on the BSD Unix model of device management. The I/O interface in Mach 3.0 supports device drivers that are largely device-independent, implemented at user-level, and location-independent. Our approach to device management signiicantly reduces the size of the kernel's machine-dependent code, enab...
متن کاملModular Semi-automatic Formal Verification of Critical Systems Software ; Modulaire halfautomatische formele verificatie van kritische systeemsoftware
In the first part of this thesis, we present a case study on successfully verifying the Linux USB BP keyboard driver. Our verification approach is (a) sound, (b) takes into account dynamic memory allocation, complex API rules and concurrency, and (c) is applied on a real kernel driver which was not written with verification in mind. We employ VeriFast, a software verifier based on separation lo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007